package com.canaan.business.service.inOutStock;

import java.util.List;

import com.canaan.business.domain.basic.WmsStorehouseLocation;
import com.canaan.business.domain.inOutStock.BindRecord;
import com.canaan.business.domain.vo.InStockPutWayVo;

/**
 * 绑定关系Service接口
 * 
 * @author canaan
 * @date 2025-03-29
 */
public interface IBindRecordService {
    /**
     * 查询绑定关系
     *
     * @param parentNo 绑定关系主键
     * @return 绑定关系
     */
    BindRecord selectBindRecordByParentNo(String parentNo);

    /**
     * 查询绑定关系列表
     * 
     * @param bindRecord 绑定关系
     * @return 绑定关系集合
     */
    List<BindRecord> selectBindRecordList(BindRecord bindRecord);

    /**
     * 新增绑定关系
     *
     * @param bindRecord 绑定关系
     * @return 结果
     */
    int insertBindRecord(BindRecord bindRecord);

    /**
     * 批量新增绑定关系
     *
     * @param bindRecordList 绑定关系列表
     * @return 结果
     */
    int batchInsertBindRecord(List<BindRecord> bindRecordList);

    /**
     * 修改绑定关系
     *
     * @param bindRecord 绑定关系
     * @return 结果
     */
    int updateBindRecord(BindRecord bindRecord);

    /**
     * 批量修改绑定关系
     *
     * @param bindRecordList 绑定关系列表
     * @return 结果
     */
    int batchUpdateBindRecord(List<BindRecord> bindRecordList);

    /**
     * 批量删除绑定关系
     * 
     * @param parentNos 需要删除的绑定关系主键集合
     * @return 结果
     */
    int deleteBindRecordByParentNos(String[] parentNos);

    /**
     * 删除绑定关系信息
     * 
     * @param parentNo 绑定关系主键
     * @return 结果
     */
    int deleteBindRecordByParentNo(String parentNo);
    /**
     * 绑定库位库存
     * @param inStockPutWayVo 上架对象
     * @return
     */
    String bindStoreLocation(InStockPutWayVo inStockPutWayVo);
}
